cz = [["D", "S", "I", "C"], ["C", "I", "D", "S"], ["S", "C", "I", "D"],
      ["I", "C", "D", "S"], ["I", "C", "D", "S"], ["I", "S", "C", "D"],
      ["C", "S", "D", "I"], ["D", "I", "S", "C"], ["S", "C", "I", "D"],
      ["D", "C", "I", "S"], ["D", "S", "C", "I"], ["I", "C", "D", "S"],
      ["C", "D", "S", "I"], ["I", "C", "D", "S"], ["S", "C", "D", "I"],
      ["C", "D", "I", "S"], ["S", "C", "D", "I"], ["S", "D", "C", "I"],
      ["C", "S", "D", "I"], ["I", "D", "C", "S"], ["S", "C", "I", "D"],
      ["I", "D", "S", "C"], ["S", "C", "D", "I"], ["C", "S", "I", "D"],
      ["D", "S", "C", "I"], ["C", "S", "I", "D"], ["D", "I", "C", "S"],
      ["S", "C", "D", "I"], ["I", "S", "D", "C"], ["I", "C", "D", "S"],
      ["S", "C", "D", "I"], ["C", "D", "S", "I"], ["S", "I", "D", "C"],
      ["I", "C", "D", "S"], ["I", "C", "S", "D"], ["S", "D", "I", "C"],
      ["C", "D", "S", "I"], ["S", "C", "D", "I"], ["C", "I", "S", "D"], ["S", "C", "D", "I"]]

D_describe = """
<b>关键词:</b><br/>
积级进取、争强好胜、强势、爱追根究底、直截了当、主动的开拓者、坚持意见、自信、直率
<br/><b>在情感方面</b><br/>
D型人一个坚定果敢的人，酷好变化，喜欢控制，干劲十足，独立自主，超级自信。可是，由于比较不会顾及别人的感受，
所以显得粗鲁、霸道、没有耐心、穷追不舍、不会放松。D型人不习惯与别人进行感情上的交流，不会恭维人，不喜欢眼泪，匮乏同情心。
<br/><b>在工作方面</b><br/>
D型人是一个务实和讲究效率的人，目标明确，眼光全面
组织力强，行动迅速，解决问题不过夜，果敢坚持到底，在反对声中成长。但是，因为过于强调结果，D型人往往容易忽视细节，
处理问题不够细致。爱管人、喜欢支使他人的特点使得D型人能够带动团队进步，但也容易激起同事的反感。
<br/><b>在人际关系方面</b><br/>
D型人喜欢为别人做主，虽然这样能够帮助别人做出选择，但也容易让人有强迫感。由于关注自己的目标，D型人在乎的是别人的可利用价值。喜欢控制别人，不会说对不起。
"""

D_occupation = '''
<b>D型人的优点</b><br/>
①具有强烈的进取心，同时也有强烈的好胜心;②喜欢挑战权威，不畏惧强权;
③勇于承担具有挑战性的工作与任务;喜欢享受工作带来的成就感;
④凡事自动自发，不需要别人催促;有积极性，对自己的未来规划很现实，也很明确;⑤设定的目标总体比较严格;
⑥是一个非常主动争取的人，而且常常想带头，也很容易争取到别人的信服，是个天生的领导者。
<br/><b>D型人的缺点</b><br/>
①过犹不及，说话很直，容易伤人;
②大胆冒险;刚愎自用;
③没有耐心;
④太强势(在表达意见时，常会说得好像就是毋庸置疑的结果。
'''

I_describe = '''
<b>关键词:</b><br/>
有影响力、有说服力、友好、善于言辞、健谈、乐观积极、善于交际
<br/><b>在情感方面</b><br/>
I型人是一个情感丰富而外露的人，由于性格活跃，爱说
爱讲故事，幽默，彩色记忆，能抓住听众，你常常是聚会的中心人物。是一个天才的演员，天真无邪，热情诚挚，喜欢送礼和接受礼物，看重人缘。情绪化的特点使得你容易兴奋，
喜欢吹牛、说大话，天真，永远长不大，富有喜剧色彩。但是，似乎也很容易生气，爱抱怨，大嗓门，不成熟。
<br/><b>在工作方面</b><br/>
I型人是一个热情的推动者，总有新主意，色彩丰富，说干就干，能够鼓励和带领他人一起积极投入工作。可是
l型人似乎总是情绪决定一切，想哪儿说哪儿，而且说得多干得少，遇到困难容易失去信心，杂乱无章，做事不彻底，爱走神儿，爱找借口。喜欢轻松友好的环境,非常害怕被拒绝。
<br/><b>在人际关系方面</b><br/>
I型人容易交上朋友，朋友也多。关爱朋友，也被朋友称赞。爱当主角，爱受欢迎喜欢控制谈话内容。可是，喜欢即兴表演的特点使得I型人常常不能仔细理解别人，而且健忘多变。
'''

I_occupation = '''
<b>I型人的优点</b><br/>
①天生具有强大的亲和力，口才也不错;
②反应快，有创新意识，易交友，随遇而安;
③乐观、乐天，是人群中的焦点，是大家的开心果和军师;
④热情，并能很快感染别人;
⑤随时准备接受新事物，并很快就能感染别人; ⑥决策果断。
<br/><b>I型人的缺点</b><br/>
①知道与感兴趣的事太多了，样样通，样样松，不容易精通专业;
②无足够的耐心，太情绪化;③不擅长拒绝别人的要求;
④太注意面子，太容易相信别人;
⑤太容易感情用事，也有点粗心大意。
'''

S_describe = '''
<b>关键词:</b><br/>
可靠、深思熟虑、亲切友好、有毅力、坚持不懈、善倾听者、全面周到、自制力强
<br/><b>在情感方面</b><br/>
S型人是一一个温和主义者，悠闲，平和，有耐心，感情内藏，待人和蔼，乐于倾听，遇事冷静，随遇而安。S型喜欢使用一句口头禅:“不过如此。”这个特点使得S型总是缺乏热情，不愿改变。
<br/><b>在工作方面</b><br/>
S型能够按部就班地管理事务，胜任工作并能够持之以恒
奉行中庸之道，平和可亲，一方面习惯于避免冲突,另一方面也能处变不惊。但是，S型似乎总是慢吞吞的，很难被鼓动，懒惰，马虎，得过且过。由于害怕承担风险和责任，
宁愿站在一边旁观。很多时候，S型总是焉有主意，有话不说，或折衷处理。
<br/><b>在人际关系方面</b><br/>
S型是一个容易相处的人，喜欢观察人、琢磨人，乐于倾听，愿意支持。可是，由于不以为然，S型也可能显 得漠不关心，或者嘲讽别人。
'''

S_occupation = '''
<b>S型人的优点</b><br/>
①安分守己，能够忍辱负重;
②做事细致，按部就班，不急不慢;③脚踏实地，不羡慕别人，心态稳定;④性情善良，尊重传说，礼貌待人;
⑤喜欢处在团队中一起工作，互相帮助;
⑥对自己的专业会钻研得很深入，是个优良的指导者;⑦凡事都会做好计划。
<br/><b>S型人的缺点</b><br/>
①缺乏适应变化的能力，只能适应熟悉的环境;②不善于表现自己，对自己缺乏信心。
'''

C_describe = '''
<b>关键词:</b><br/>
遵从、仔细、有条不紊、严谨、准确、完美主义者、逻辑性强
<br/><b>在情感方面</b><br/>
C型人是一个性格深沉的人，严肃认真，目的性强，善于分析，愿意思考人生与工作的意义，喜欢美丽，对他人敏感，理想主义。
但是，C型人总 是习惯于记住负面的东西，容易情绪低落，过分自我反省，自我贬低，离群索居，有忧郁症倾向。
<br/><b>在工作方面</b><br/>
C型人是一个完美主义者，高标准，计划性强，注重细节
讲究条理，整洁，能够发现问题并制订解决问题的办.法，喜欢图表和清单，坚持己见，善始善终。但是，C型人也很可能是一个优柔寡断的人，
习惯于收集信息资料和做分析，却很难投入到实际运作的工作中来。容易自我否定，因此需要别人的认同。同时，也习惯于挑剔别人，不能忍受别人的工作做不好。
<br/><b>人际关系方面</b><br/>
C型人一方面在寻找理想伙伴，另一方面却交友谨慎。能够深切地关怀他人，善于倾听抱怨，帮助别人解决困难。但是，C型人似乎始终有-种不安全感，以致于感情内向，退缩，怀疑别人，喜欢批评人事，却不喜欢别人的反对。
'''

C_occupation = '''
<b>C型人的优点</b><br/>
①专注，独立，专业，客观，按规定办事;
②不思强权，具有强大的忠诚心，忠诚于组织与各种规范;
③不会感情用事，会精确地依照规则办事，追求完美;④能很长时间地从事连续的工作或职务，不会积极地想要自己出头。
<br/><b>C型人的缺点</b><br/>
①优柔寡断，抓不到重点;
②不太好相处，过分注重细节;③不注重表达，缺乏优秀的口才。
'''
Result = {
    'D': {'type': 'D型-支配型/控制者Dominance', 'describe': D_describe, 'occupation': D_occupation},
    'I': {'type': 'I型-活泼型/社交者Influence', 'describe': I_describe, 'occupation': I_occupation},
    'S': {'type': 'S型-稳定型/支持者Steadiness', 'describe': S_describe, 'occupation': S_occupation},
    'C': {'type': 'C型-完美型/服从者Compliance', 'describe': C_describe, 'occupation': C_occupation}
}


def DISC(data):
    DISC = list(data.replace('A', '0').replace('B', '1').replace('C', '2').replace('D', '3').replace(',', ''))

    answer = []
    for index, item in enumerate(cz):
        answer.append(item[int(DISC[index])])

    count = {
        'D': answer.count('D'),
        'I': answer.count('I'),
        'S': answer.count('S'),
        'C': answer.count('C')
    }
    MAX = max(count, key=count.get)
    result = Result[MAX]
    result['count'] = count

    return result
